﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Drawing;

namespace nr.Reports
{
    /// <summary>
    /// Formattazione di una riga del report
    /// </summary>
    public class ReportRowStyle
    {
        /// <summary>
        /// font di default per la riga
        /// </summary>
        private Font font;
        /// <summary>
        /// colore di sfondo di default della riga
        /// </summary>
        private Brush backColor;
        /// <summary>
        /// bordo di default della riga
        /// </summary>
        private Pen border;
        /// <summary>
        /// allineamento di default della riga
        /// </summary>
        private StringAlignment alignment;
        /// <summary>
        /// Legge/Imposta il font di default della riga
        /// </summary>
        public Font Font { get { return font; } set { font = value; } }
        /// <summary>
        /// Legge/Imposta il colore di sfondo di default della riga
        /// </summary>
        public Brush BackColor { get { return backColor; } set { backColor = value; } }
        /// <summary>
        /// Legge/Imposta il formato di default del bordo della riga
        /// </summary>
        public Pen Border { get { return border; } set { border = value; } }
        /// <summary>
        /// Legge/Imposta l'allineamento di default della riga
        /// </summary>
        public StringAlignment Alignment { get { return alignment; } set { alignment = value; } }
        /// <summary>
        /// Costruttore di default
        /// </summary>
        public ReportRowStyle()
        {
            Font = SystemFonts.DefaultFont;
            BackColor= Brushes.White;
            Border = new Pen(Brushes.Black, 0.5f);
            Alignment = StringAlignment.Near;
        }
        /// <summary>
        /// Costruttore
        /// </summary>
        /// <param name="alignment">Allineamento di default della riga</param>
        public ReportRowStyle(StringAlignment alignment)
            : this()
        {
            Alignment = alignment;
        }
    }
}
